package de.reondo.jos;

/**
 * Interface for DependencyGraphPrinter as a generic way to provide meta-information
 * for graph vertices and edges.
 * 
 * @author dw
 *
 * @param <V>
 * @param <E>
 */
public interface IGraphStyler<V, E> {
	
    /**
     * @param vertex
     * @return the name of the vertex color to be used in a dot graph
     */
	String getColorForVertex(V vertex);
	
	/**
	 * 
	 * @param vertex
	 * @return the label of the vertex to be used in a dot or TGF graph
	 */
	String getVertexLabel(V vertex);
	
	/**
	 * 
	 * @param edge
	 * @return the label of the edge to be used in a dot or TGF graph
	 */
	String getEdgeLabel(E edge);
	
}
